python json.loads 取消转义字符 反斜杠 "\" | 您所在的位置:网站首页 › python 字典换行 › python json.loads 取消转义字符 反斜杠 "\" |
前言
今天利用 python 处理数据时,遇见了两个问题,一个是需要读取的文件中有正常字符串和字典;一个是字典中有转义字符反斜杠 ""。 问题1 的解决方案通过搜索,寻找到 json 可以处理字典类型,解决方法如下: import json json.loads("需要读取的字符串中的字典") 问题2 的解决方案通过问题1的解决方案,虽然可以将字符串转换成字典类型,但是我的字典类型当中有转义字符反斜杠 "\",因此在读取到字典之前,需要先处理转义字符,解决方法如下: 1. 使用 eval 函数,其功能如下: eval 功能:将字符串str当成有效的表达式来求值并返回计算结果。 语法: eval(source[, globals[, locals]]) -> value 参数: source:一个Python表达式或函数compile()返回的代码对象 globals:可选。必须是dictionary locals:可选。任意map对象 str = """{\\"name\\":4}""" str2 = eval("'{}'".format(str)) print(str2)输出结果为 {"name":4}2. 使用 正则表达式,将 "\" 去除,具体实现方式如下: str = """{\\"name\\":4}""" str1 = re.sub(r'\\','',str) print(str1) print(json.loads(str1))输出结果分别为 {"name":4} {'name': 4} 参考博文[1] Python json.loads 取消反斜杠 Expecting property name enclosed in double quotes: line 1 column 2 (char 1) |
CopyRight 2018-2019 实验室设备网 版权所有 |